Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

255
Vistas
Issue when using "woocommerce_product_add_to_cart_text" filter hook

I wrote a function to change Add To Cart button text for products on backorder.

woocommerce_product_single_add_to_cart_text works fine, but using woocommerce_product_add_to_cart_text crashes the page.

In the error log I see that it freezes class-wp-term.php.

Here's my function code:

function change_button_text_on_backorder() {

    if (! is_admin()) {
        global $product;
        
        $qty = $product->get_stock_quantity();
        $button_text = $product->add_to_cart_text();

        if  ( $qty < 1 && $product->backorders_allowed() ) { // backorders allowed?
            $button_text = 'BACKORDER';
        }
        return $button_text;
    }
}

add_filter('woocommerce_product_single_add_to_cart_text', 'change_button_text_on_backorder');
add_filter('woocommerce_product_add_to_cart_text', 'change_button_text_on_backorder');

I'm using WordPress 5.8, WooCommerce 5.6. Any suggestions why it crashes?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Your code contains some mistakes

  • $product is passed as an argument, so there is no need to use a global variable
  • $product->add_to_cart_text() is also not necessary, as this is also passed as an argument

So you get:

function filter_woocommerce_product_add_to_cart_text( $add_to_cart_text, $product ) {
    // Get stock quantity
    $qty = $product->get_stock_quantity();

    // Backorders allowed?
    if  ( $qty < 1 && $product->backorders_allowed() ) {
        $add_to_cart_text = __( 'Backorder', 'woocommerce' );
    }

    return $add_to_cart_text;
}
add_filter( 'woocommerce_product_add_to_cart_text', 'filter_woocommerce_product_add_to_cart_text', 10, 2 );
add_filter( 'woocommerce_product_single_add_to_cart_text', 'filter_woocommerce_product_add_to_cart_text', 10, 2 );
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda